package view;

import java.io.File;

import model.EmailImp;
import requestManager.EmailApplicationRequestManagerImp;


/**
 * This is an interface created to structure the instances of EmailApplicationView objects
 *
 */
public interface EmailApplicationViewImp 
{
    /**
     * register controller component
     * @param emailAppController
     */
    public void registerController(EmailApplicationRequestManagerImp emailAppController);
    
    /**
     * unregister controller component
     */
    public void unRegisterController();
    
    /**
     * get controller reference
     * @return returns IEmailApplicationController
     */
    public EmailApplicationRequestManagerImp getController();

    /**
     * get email object from the given file
     * @param file takes Java-io File as an object
     * @return returns email object.
     */
    public EmailImp getEmailFromJasonFile(File file);

}
